package ph.gov.marikina.mcsmtms.dao;

import java.util.Date;
import java.util.List;

import ph.gov.marikina.mcsmtms.domain.SituationReport;

public interface SituationReportDAO extends DAO {
	
	public Integer addSituationReport(SituationReport situationReport);
	public List<SituationReport> getAllSituationReports();
	public List<SituationReport> getHazardMapSituationReports();
	public SituationReport getSituation(String id);
	public boolean updateSituation(SituationReport situationReport);
	public abstract List<SituationReport> getHazardMapSituationReports(String direction);
	public List<SituationReport> getNotifications();
	public abstract List<SituationReport> getForValidationNotifications();
	public abstract List<SituationReport> getReportsForDateRange(Date startDt, Date endDt, String status);
	public List getSituationCountsForDateRange(Date startDt, Date endDt, String status);
	public List getFrequentlyFloodedStreets(Date startDt, Date endDt, String status);
	public List getMostAccidentProneStreets(Date startDt, Date endDt, String status);
	public List getAccidentCountsPerRoad(Date startDt, Date endDt, String status);
	List getMostCongestedStreets(Date startDt, Date endDt, String status);
	List<SituationReport> getForValidationNotifications(String road);
}
